home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # full and incr backup script
- # created 27 Sep 99
- # Based on a script by Daniel O'Callaghan <danny@freebsd.org>
-
- #Change the 5 variables below to fit your computer/backup
-
- COMPUTER=myserver # name of this computer
- DIRECTORIES="/etc /home" # directoris to backup
- BACKUPDIR=/backup/backups # where to store the backups
- TIMEDIR=/backup/backups/last-full # where to store time of full backup
- TAR=/bin/tar # name and locaction of tar
-
- #You should not have to change anything below here
-
- PATH=/usr/local/bin:/usr/bin:/bin
- DOW=`date +%a` # Day of the week e.g. Mon
- DOM=`date +%d` # Date of the Month e.g. 27
- DM=`date +%d%b` # Date and Month e.g. 27Sep
-
- # On the 1st of the month a permanet full backup is made
- # Every Sunday a full backup is made - overwriting last Sundays backup
- # The rest of the time an incremental backup is made. Each incremental
- # backup overwrites last weeks incremental backup of the same name.
- #
- # if NEWER = "", then tar backs up all files in the directories
- # otherwise it backs up files newer than the NEWER date. NEWER
- # gets it date from the file written every Sunday.
-
-
- if [ $DOM = "01" ]; then # monthly full backup
- NEWER=""
- $TAR $NEWER -z -c -f $BACKUPDIR/$COMPUTER-$DM.tgz $DIRECTORIES
- fi
-
- if [ $DOW = "Sun" ]; then # weekly full backup
- NEWER=""
- NOW=`date +%d-%b`
- echo $NOW > $TIMEDIR/$COMPUTER-full-date #update full backup date
- $TAR $NEWER -z -c -f $BACKUPDIR/$COMPUTER-$DOW.tgz $DIRECTORIES
-
- else #make incremental backup - overwrite last weeks
- NEWER="--newer `cat $TIMEDIR/$COMPUTER-full-date`" #get date of last full backup
- $TAR $NEWER -z -c -f $BACKUPDIR/$COMPUTER-$DOW.tgz $DIRECTORIES
- fi
-
-